package com.whz.governance.redislimiter.command;

import java.util.List;

/**
 * 令牌桶算法
 * <p>
 * KEY[1]: 令牌token
 * KEY[2]: 令牌当前请求时间戳
 * ARGS[1]: 令牌消费速率
 * ARGS[2]: 令牌最大容量
 * ARGS[3]: 令牌当前请求时间戳
 * ARGS[4]: 每个请求占用令牌书,默认1
 * </p>
 *
 * @author whz
 */
public class TokenBucketCommand extends BaseCommandExecutor<List<Long>> {
    @Override
    protected String getKeyPrefix() {
        return "token-bucket:";
    }

    @Override
    protected String getScriptFileName() {
        return "atomic-token-bucket.lua";
    }
}